﻿namespace FI.Core
{
    /// <summary>
    /// This class defines all predefined audit functions.
    /// </summary>
	public static class AuditFunctions
	{
		/// <summary>
		/// This class defines all Messaging specific audit functions.
		/// </summary>
		public static class Messaging
		{
			/// <summary>
		    /// Create a new message entry.
		    /// </summary>
			public const string CreateMessageEntry = "Create a new message entry.";

			/// <summary>
		    /// Update an existing message entry.
		    /// </summary>
			public const string UpdateMessageEntry = "Update an existing message entry.";

			/// <summary>
		    /// Delete an existing message entry.
		    /// </summary>
			public const string DeleteMessageEntry = "Delete an existing message entry.";

		}
		/// <summary>
		/// This class defines all CodeTable specific audit functions.
		/// </summary>
		public static class CodeTable
		{
			/// <summary>
		    /// Create a new code entry.
		    /// </summary>
			public const string CreateCodeEntry = "Create a new code entry.";

			/// <summary>
		    /// Update an existing code entry.
		    /// </summary>
			public const string UpdateCodeEntry = "Update an existing code entry.";

			/// <summary>
		    /// Delete an existing code entry.
		    /// </summary>
			public const string DeleteCodeEntry = "Delete an existing code entry.";

		}
		/// <summary>
		/// This class defines all SessionManagement specific audit functions.
		/// </summary>
		public static class SessionManagement
		{
			/// <summary>
		    /// Start a new session.
		    /// </summary>
			public const string StartSession = "Start a new session.";

			/// <summary>
		    /// Renew an existing session.
		    /// </summary>
			public const string RenewSession = "Renew an existing session.";

			/// <summary>
		    /// Terminate an existing session.
		    /// </summary>
			public const string TerminateSession = "Terminate an existing session.";

			/// <summary>
		    /// Kill an existing session.
		    /// </summary>
			public const string KillSession = "Kill an existing session.";

		}
		/// <summary>
		/// This class defines all Profiles specific audit functions.
		/// </summary>
		public static class Profiles
		{
			/// <summary>
		    /// Get specified keys of profile.
		    /// </summary>
			public const string GetProfileKey = "Get specified keys of profile.";

			/// <summary>
		    /// Get all keys of profile.
		    /// </summary>
			public const string GetAllProfileKey = "Get all keys of profile.";

			/// <summary>
		    /// Update an existing profile.
		    /// </summary>
			public const string UpdateProfile = "Update an existing profile.";

		}
		/// <summary>
		/// This class defines all BatchJob specific audit functions.
		/// </summary>
		public static class BatchJob
		{
			/// <summary>
		    /// Create a new job type.
		    /// </summary>
			public const string CreateJobTypeEntry = "Create a new job type.";

			/// <summary>
		    /// Update an existing job type.
		    /// </summary>
			public const string UpdateJobTypeEntry = "Update an existing job type.";

			/// <summary>
		    /// Delete an existing job type.
		    /// </summary>
			public const string DeleteJobTypeEntry = "Delete an existing job type.";

			/// <summary>
		    /// Schedule a new job.
		    /// </summary>
			public const string ScheduleJob = "Schedule a new job.";

			/// <summary>
		    /// Reschedule an existing job.
		    /// </summary>
			public const string RescheduleJob = "Reschedule an existing job.";

			/// <summary>
		    /// Delete an existing job.
		    /// </summary>
			public const string DeleteJob = "Delete an existing job.";

			/// <summary>
		    /// Run specified job.
		    /// </summary>
			public const string RunJob = "Run specified job.";

			/// <summary>
		    /// Run a specified job with parameters.
		    /// </summary>
			public const string RunJobWithParam = "Run a specified job with parameters.";

			/// <summary>
		    /// Create a new job calendar.
		    /// </summary>
			public const string CreateJobCalendarEntry = "Create a new job calendar.";

			/// <summary>
		    /// Update an existing job calendar.
		    /// </summary>
			public const string UpdateJobCalendarEntry = "Update an existing job calendar.";

			/// <summary>
		    /// Delete an existing job calendar.
		    /// </summary>
			public const string DeleteJobCalendarEntry = "Delete an existing job calendar.";

		}
		/// <summary>
		/// This class defines all Logging specific audit functions.
		/// </summary>
		public static class Logging
		{
			/// <summary>
		    /// Create a new log entry.
		    /// </summary>
			public const string CreateLoggingEntry = "Create a new log entry.";

		}
		/// <summary>
		/// This class defines all BusinessActions specific audit functions.
		/// </summary>
		public static class BusinessActions
		{
			/// <summary>
		    /// Create a new business actions.
		    /// </summary>
			public const string CreateActionItem = "Create a new business actions.";

			/// <summary>
		    /// Update an existing business actions.
		    /// </summary>
			public const string UpdateActionItem = "Update an existing business actions.";

			/// <summary>
		    /// Delete an existing business actions.
		    /// </summary>
			public const string DeleteActionItem = "Delete an existing business actions.";

			/// <summary>
		    /// Add given roles to the existing business actions.
		    /// </summary>
			public const string AddRolesToAction = "Add given roles to the existing business actions.";

			/// <summary>
		    /// Delete existing roles for the given business actions.
		    /// </summary>
			public const string UpdateRolesForAction = "Delete existing roles for the given business actions.";

			/// <summary>
		    /// Delete an existing role for the given business actions.
		    /// </summary>
			public const string DeleteRoleFromAction = "Delete an existing role for the given business actions.";

		}
		/// <summary>
		/// This class defines all Roles specific audit functions.
		/// </summary>
		public static class Roles
		{
			/// <summary>
		    /// Create a new role.
		    /// </summary>
			public const string CreateRoleItem = "Create a new role.";

			/// <summary>
		    /// Update an existing role.
		    /// </summary>
			public const string UpdateRoleItem = "Update an existing role.";

			/// <summary>
		    /// Delete an existing role.
		    /// </summary>
			public const string DeleteRoleItem = "Delete an existing role.";

			/// <summary>
		    /// Add an existing user to the given role.
		    /// </summary>
			public const string AddUserToRole = "Add an existing user to the given role.";

			/// <summary>
		    /// Delete an existing user form the given role.
		    /// </summary>
			public const string DeleteUserFromRole = "Delete an existing user form the given role.";

			/// <summary>
		    /// Update given users to an existing role.
		    /// </summary>
			public const string UpdateUsersToRole = "Update given users to an existing role.";

			/// <summary>
		    /// Add an existing action to the given role.
		    /// </summary>
			public const string AddActionToRole = "Add an existing action to the given role.";

			/// <summary>
		    /// Delete an existing action from the given role.
		    /// </summary>
			public const string DeleteActionFromRole = "Delete an existing action from the given role.";

			/// <summary>
		    /// Update given actions to an existing role.
		    /// </summary>
			public const string UpdateActionsToRole = "Update given actions to an existing role.";

		}
		/// <summary>
		/// This class defines all Users specific audit functions.
		/// </summary>
		public static class Users
		{
			/// <summary>
		    /// Create a new user.
		    /// </summary>
			public const string CreateUserItem = "Create a new user.";

			/// <summary>
		    /// Update an existing user.
		    /// </summary>
			public const string UpdateUserItem = "Update an existing user.";

			/// <summary>
		    /// Delete an existing user.
		    /// </summary>
			public const string DeleteUserItem = "Delete an existing user.";

			/// <summary>
		    /// Add an existing role to an existing user.
		    /// </summary>
			public const string AddRoleToUser = "Add an existing role to an existing user.";

			/// <summary>
		    /// Delete an existing role form an existing user.
		    /// </summary>
			public const string DeleteRoleFromUser = "Delete an existing role form an existing user.";

			/// <summary>
		    /// Update given roles to an existing user.
		    /// </summary>
			public const string UpdateRolesToUser = "Update given roles to an existing user.";

			/// <summary>
		    /// Change user password.
		    /// </summary>
			public const string ChangePassword = "Change user password.";

			/// <summary>
		    /// Administrate user password.
		    /// </summary>
			public const string AdministatePassword = "Administrate user password.";

			/// <summary>
		    /// Change password question.
		    /// </summary>
			public const string ChangePasswordQuestion = "Change password question.";

		}    
	}
}